package algorithm.leetcode.I101to200;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

public class Q118 {

    public List<List<Integer>> generate(int numRows) {
        ArrayList<List<Integer>> res = new ArrayList<>();
        res.add(new ArrayList<>(Arrays.asList(1)));
        for (int i = 2; i <= numRows; i++) {
            List<Integer> last = res.get(res.size()-1);
            LinkedList<Integer> temp = new LinkedList<>();

            for (int j = 0; j <= last.size(); j++) {
                if (j == 0 || j == last.size()) temp.add(1);
                else temp.add(last.get(j)+last.get(j-1));
            }
            res.add(temp);
        }
        return res;
    }

    public static void main(String[] args) {
        Q118 q118 = new Q118();
        System.out.println(q118.generate(3));
    }
}
